<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="HandheldFriendly" content="true">
<meta name="MobileOptimized" content="320">
<title>Ad Document</title>
<link rel="stylesheet" type="text/css" href="res/doc.css" charset="utf-8">
<link rel="stylesheet" type="text/css" href="res/prettify.sons.css" charset="utf-8">
<script type="text/javascript" src="res/doc.js" charset="utf-8"></script><script type="text/javascript" src="res/prettify.js" charset="utf-8"></script>
</head>
<body><div id="content" class="content">
<h1><a name="plus.ad">ad</a></h1>
<p>AD模块实现uni-AD广告联盟功能，聚合目前国内流行的广告平台广点通（腾讯）、穿山甲（今日头条）、360广告等，支持信息流、Banner等广告。</p>
<h2>方法：</h2>
<ul>
<li>
<a href="#plus.ad.createAdView">createAdView</a>: 创建广告控件</li>
<li>
<a href="#plus.ad.getAds">getAds</a>: 获取信息流广告数据</li>
<li>
<a href="#plus.ad.releaseAdData">releaseAdData</a>: 释放广告数据</li>
</ul>
<h2>对象：</h2>
<ul>
<li>
<a href="#plus.ad.AdData">AdData</a>: 信息流广告数据对象</li>
<li>
<a href="#plus.ad.AdView">AdView</a>: 广告控件对象</li>
<li>
<a href="#plus.ad.AdViewStyles">AdViewStyles</a>: 广告原生控件样式</li>
<li>
<a href="#plus.ad.AdsOptions">AdsOptions</a>: 获取信息流广告的参数</li>
</ul>
<h2>回调方法：</h2>
<ul>
<li>
<a href="#plus.ad.GetAdsSuccessCallback">GetAdsSuccessCallback</a>: 获取信息流广告成功回调函数</li>
<li>
<a href="#plus.ad.ADViewRenderingCallback">ADViewRenderingCallback</a>: 监听广告渲染完成事件回调函数</li>
<li>
<a href="#plus.ad.ADviewDislikedCallback">ADviewDislikedCallback</a>: 监听点击关闭广告事件回调函数</li>
<li>
<a href="#plus.ad.AdSuccessCallback">AdSuccessCallback</a>: 广告操作成功回调函数</li>
<li>
<a href="#plus.ad.AdErrorCallback">AdErrorCallback</a>: 广告操作错误回调函数</li>
</ul>
<h2>权限：</h2>
<p>5+功能模块（permissions）</p>
<pre class="prettyprint linenums">
{
// ...
"permissions":{
	// ...
	"Ad": {
		"description": "UniAd广告"
	}
}
}
			</pre>
<h1><a name="plus.ad.AdData">AdData</a></h1>
<p>信息流广告数据对象</p>
<h2>属性：</h2>
<ul>
<li>
<a href="#plus.ad.AdData.description">description</a>: 广告描述信息</li>
<li>
<a href="#plus.ad.AdData.showMode">showMode</a>: 广告显示类型</li>
<li>
<a href="#plus.ad.AdData.title">title</a>: 广告标题</li>
</ul>
<h1><a name="plus.ad.AdView">AdView</a></h1>
<p>广告控件对象</p>
<pre class="prettyprint linenums">
interface plus.ad.AdView extends plus.nativeObj.View  {
	// Methods
	function void renderingBind(data);
	function void setRenderingListener(ADViewRenderingCallback);
	function void setDislikeListener(ADviewDislikedCallback);
}
				</pre>
<h2>说明：</h2>
<p class="des">
	AdView从plus.nativeObj.View继承，
	用于渲染显示广告的原生控件，目前仅支持“模板渲染”模式，暂不支持“自定义渲染”模式。
	
	使用广告控件步骤：
	
		创建广告控件AdView，添加到Webview中，高度设置为"0px"，此时不显示
		获取广告数据，将广告数据绑定到AdView上并开始渲染
		监听广告渲染事件，广告渲染成功后更新AdView的高度，显示广告
	
	
	注意：广告控件创建后需添加到Webview窗口中才能显示，关闭广告。
				</p>
<h2>方法：</h2>
<ul>
<li>
<a href="#plus.ad.AdView.renderingBind">renderingBind</a>: 绑定广告数据并渲染</li>
<li>
<a href="#plus.ad.AdView.setRenderingListener">setRenderingListener</a>: 监听广告渲染完成事件</li>
<li>
<a href="#plus.ad.AdView.setDislikeListener">setDislikeListener</a>: 监听点击关闭广告事件</li>
</ul>
<h1><a name="plus.ad.AdViewStyles">AdViewStyles</a></h1>
<p>广告原生控件样式</p>
<h2>属性：</h2>
<ul>
<li>top: <em>(<font class="type">String</font>
	类型
)</em>AdView控件左上角的垂直偏移量<br><p>
	可取值：
		像素值，如"100px"；
		百分比，如"10%"，相对于父Webview窗口的高度。
	默认值为"0px"。
						</p>
</li>
<li>left: <em>(<font class="type">String</font>
	类型
)</em>AdView控件左上角的水平偏移量<br><p>
	可取值：
		像素值，如"100px"；
		百分比，如"10%"，相对于父Webview窗口的宽度。
	默认值为"0px"。
						</p>
</li>
<li>width: <em>(<font class="type">String</font>
	类型
)</em>AdView控件的宽度<br><p>
	可取值：
		像素值，如"100px"；
		百分比，如"10%"，相对于父Webview窗口的宽度。
	默认值为"100%"。
						</p>
</li>
<li>height: <em>(<font class="type">String</font>
	类型
)</em>AdView控件的高度<br><p>
	可取值：
		像素值，如"100px"；
		百分比，如"10%"，相对于父Webview窗口的高度。
	默认值为"0px"。
						</p>
</li>
<li>position: <em>(<font class="type">String</font>
	类型
)</em>AdView控件在Webview窗口的布局模式<br><p>
	可取值：
		"static" - 静态布局模式，如果页面存在滚动条则随窗口内容滚动；
		"absolute" - 绝对布局模式，如果页面存在滚动条不随窗口内容滚动；
	默认值为"static"。
						</p>
</li>
</ul>
<h1><a name="plus.ad.AdsOptions">AdsOptions</a></h1>
<p>获取信息流广告的参数</p>
<h2>属性：</h2>
<ul>
<li>adpid: <em>(<font class="type">String</font>
	类型
)</em>信息流广告位标识<br><p>
	在UniAD平台新建广告位后可得到。
						</p>
</li>
<li>width: <em>(<font class="type">String</font>
	类型
)</em>信息流广告将要显示的宽度<br><p>
	支持像素值（如"100px"）、百分比（如"50%"）。默认值为"100%"。
	注：此值用于向广告平台匹配合适的信息流广告，建议传入广告展现时真实的宽度。
						</p>
</li>
<li>cound: <em>(<font class="type">Number</font>
	类型
)</em>获取信息流广告的数目<br><p>
	默认值为3。
	注：真实返回的广告数目可能小于此值，如填充率不够时会发生此情况。
						</p>
</li>
</ul>
<h1><a name="plus.ad.GetAdsSuccessCallback">GetAdsSuccessCallback</a></h1>
<p>获取信息流广告成功回调函数</p>
<pre class="prettyprint linenums">
void onSuccess( Event event ){
	// Code here
	var ads = event.ads; // AdData数组对象，AdData为广告数据对象
}
				</pre>
<h2>说明：</h2>
<p class="des">
	获取信息流广告成功时触发，并返回信息流广告数据。
				</p>
<h2>参数：</h2>
<ul><li>event: 
		<em>(
			<font class="type">Event</font>
			)
			可选 </em>获取信息流广告成功的信息<br>
	可通过event.ads，Array(AdData类型)获取广告数据。
						</li></ul>
<h2>返回值：</h2>
<font class="type">void</font>
			: 无<h1><a name="plus.ad.ADViewRenderingCallback">ADViewRenderingCallback</a></h1>
<p>监听广告渲染完成事件回调函数</p>
<pre class="prettyprint linenums">
void onSuccess( Event event ){
	// Code here
	var result = event.result; // 广告渲染结果，0表示渲染成功
	var width = event.wdith;  // 广告渲染需要的宽度，逻辑像素值
	var height = event.height; // 广告渲染需要的高度，逻辑像素值
}
				</pre>
<h2>说明：</h2>
<p class="des">
	广告渲染完成时触发。
				</p>
<h2>参数：</h2>
<ul><li>event: 
		<em>(
			<font class="type">Event</font>
			)
			可选 </em>广告渲染的信息<br>
	event包含以下参数：
	result - Number类型，0表示渲染成功，其它值表示渲染失败；
	width - Number类型，控件的宽度，逻辑像素值；
	height - Number类型，控件的高度，逻辑像素值。
						</li></ul>
<h2>返回值：</h2>
<font class="type">void</font>
			: 无<h1><a name="plus.ad.ADviewDislikedCallback">ADviewDislikedCallback</a></h1>
<p>监听点击关闭广告事件回调函数</p>
<pre class="prettyprint linenums">
void onSuccess( Event event ){
	// Code here
	var value = event.value; // 用户关闭广告的原因
}
				</pre>
<h2>说明：</h2>
<p class="des">
	用户点击关闭广告时触发。
				</p>
<h2>参数：</h2>
<ul><li>event: 
		<em>(
			<font class="type">Event</font>
			)
			可选 </em>关闭广告的信息<br>
	event包含以下参数：
	value - String类型，不喜欢的原因。
						</li></ul>
<h2>返回值：</h2>
<font class="type">void</font>
			: 无<h1><a name="plus.ad.AdSuccessCallback">AdSuccessCallback</a></h1>
<p>广告操作成功回调函数</p>
<pre class="prettyprint linenums">
void onSuccess(){
	// Code here
}
				</pre>
<h2>参数：</h2>
<p>无</p>
<h2>返回值：</h2>
<font class="type">void</font>
			: 无<h1><a name="plus.ad.AdErrorCallback">AdErrorCallback</a></h1>
<p>广告操作错误回调函数</p>
<pre class="prettyprint linenums">
void onError(error){
	// Handle the error
	var code = error.code; // 错误编码
	var message = error.message; // 错误描述信息
}
				</pre>
<h2>说明：</h2>
<p class="des">
	获取信息流广告数据失败时触发。
				</p>
<h2>参数：</h2>
<ul><li>error: 
		<em>(
			<font class="type">Exception</font>
			)
			可选 </em>广告操作的错误信息<br>
	可通过error.code（Number类型）获取错误编码；
	可通过error.message（String类型）获取错误描述信息。
						</li></ul>
<h2>返回值：</h2>
<font class="type">void</font>
			: 无<br><br>
</div></body>
</html>
